#!/bin/bash

# 测试环境变量解析功能

echo "=== 测试环境变量解析功能 ==="

# 进入modb目录
cd /home/apachee/trunk/Crystal/CrystalFlowAnalyzer/modb

# 设置环境变量
export PROJ_ROOT=/home/apachee/trunk/Crystal/CrystalFlowAnalyzer/a9soc

echo "环境变量 PROJ_ROOT 设置为: $PROJ_ROOT"

# 验证环境变量是否正确设置
if [ -z "$PROJ_ROOT" ]; then
    echo "错误: PROJ_ROOT 环境变量未设置"
    exit 1
fi

# 验证路径是否存在
if [ ! -d "$PROJ_ROOT/design/usb2/src/lsp" ]; then
    echo "错误: 路径 $PROJ_ROOT/design/usb2/src/lsp 不存在"
    exit 1
fi

echo "路径验证通过"

# 测试moparse是否能正确处理包含环境变量的文件列表
echo "测试处理DWC_usb3.lst文件列表..."

# 运行moparse处理USB文件列表
timeout 120s ./moparse -f /home/apachee/trunk/Crystal/CrystalFlowAnalyzer/a9soc/design/usb2/src/DWC_usb3.lst -o usb_dwc3_test.modb

# 检查是否生成了modb文件
if [ -f "usb_dwc3_test.modb" ]; then
    echo "✓ 成功生成modb文件"
    ls -la usb_dwc3_test.modb
    
    # 显示文件信息
    echo "显示生成的modb文件信息:"
    ./moparse -s usb_dwc3_test.modb | head -20
    
    # 清理生成的文件
    rm -f usb_dwc3_test.modb
else
    echo "✗ 未能生成modb文件"
    echo "检查是否存在段错误或其他问题"
fi

echo "=== 测试完成 ==="